文件傳輸協議(即 FTP)比 HTTP(即超文本傳輸??協議)存在的時間要長得多,您現在使用它來連接到 Internet。它甚至比 TCP/IP 協議還要古老,并且在其存在 40 多年的時間里,它已經過修改以適應行業中的新標準。
由于最初的 FTP 規范是在 1971 年編寫的,第一個 FTP 客戶端完全是命令行程序,因為它們是在操作系統采用 GUI(即圖形用戶界面)之前開發的。盡管如此,已經有無數為臺式機、服務器甚至移動設備設計的 GUI FTP 客戶端。本指南包含了解 FTP 及其用法所需的所有信息。我們將指南分為兩部分,因此第一部分包含有關 FTP 的所有必要詳細信息,另一部分包含與使用相關的詳細信息。
什么是FTP
文件傳輸協議是一種標準網絡協議,用于通過計算機網絡在客戶端和服務器之間傳輸計算機文件。用戶可以通過命令行界面使用 FTP,例如Windows 中的DOS和Linux和 macOS 中的終端。如果這不是您想要的,那么您也可以使用許多在線提供的 FTP 客戶端之一,有些甚至是免費的。某些瀏覽器還允許您使用該協議下載文件。可以使用 FTP 傳輸任何文件,在某些情況下,它甚至比 HTTP 還要快。例如,這里有一篇關于如何在 Ubuntu 服務器上安裝 FTP 服務器的好文章。
要登錄 FTP 服務器,您需要輸入用戶名和密碼以及端口號(使用命令行界面登錄時)。默認情況下,FTP 協議由端口號 20 和 21 處理。還可以匿名訪問 FTP 服務器,我們將在下面的段落中詳細說明。
匿名FTP
大多數公共服務器都為您提供了通過匿名連接通過 FTP 登錄和下載文件的可能性。這并不意味著您是 100% 匿名的,而是您使用“匿名”作為用戶名,在大多數情況下,使用您的電子郵件地址作為密碼。您無需擁有現有帳戶即可訪問 FTP 服務器。
ASCII 和二進制
通過 FTP 文件傳輸使用兩種不同的形式:ASCII 和二進制。ASCII(即美國信息交換標準代碼)是一個 7 位字符集,包含 128 個字符。任何基于文本的文件(例如 HTML、.txt、PostScript 文件等)都是 ASCII 文件。
另一方面,我們有二進制文件,它們具有不同的結構并且需要不同的傳輸類型。其中包括圖像、應用程序、算法生成的包(如 .zip)等等。
如今,有種類繁多的 FTP 客戶端可用,幾乎所有客戶端都會根據您選擇的文件自動檢測傳輸模式。大多數客戶端默認以二進制運行,僅在需要時使用 ASCII。他們這樣做是因為用戶可以通過二進制方法傳輸 ASCII 和二進制文件。但是,如果通過 ASCII 傳輸二進制文件,它將被損壞。上面提到的規則有一個小例外。您必須通過 ASCII 傳輸 CGI 腳本;否則,它們將無法工作。
瀏覽器FTP
盡管我們強烈建議使用 FTP 客戶端,但有時 Web 瀏覽器可能就足夠了。一旦定向到 FTP 服務器,您必須登錄,然后才能瀏覽服務器并下載文件。請注意,與 FTP 客戶端相比,使用 FTP 瀏覽器提供的功能最少,但安全風險要大得多。
有不同類型的 FTP 服務器和 FTP 客戶端,所以這里是最常用的服務器和客戶端的列表:
最常用的 FTP 服務器 | 最常用的 FTP 客戶端 |
FileZilla 服務器 | FileZilla |
太陽風? | 贏SCP |
服務-U | 智能FTP |
FTP 如何工作
在初始階段,FTP 連接需要兩方在特定網絡上建立和通信。用戶需要獲得向 FTP 服務器提供憑據的權限,但某些公共 FTP 服務器不需要任何憑據來訪問文件。
在建立FTP連接的過程中,需要兩條不同的通信通道,命令通道和數據通道。命令通道用于啟動特定的響應和指令。另一方面,數據通道作為數據分發發生的平臺。
授權用戶可以使用協議請求在服務器上進行更改以傳輸文件,并且對于此傳輸過程,服務器將允許訪問。此會話稱為活動連接模式,用戶請求更改并且服務器授予訪問權限。當防火墻保護用戶的系統時,主動模式分發可能會遇到問題。因此,該防火墻不允許來自任何外部方的未經授權的會話。
當用戶遇到任何問題時使用被動模式,因此用戶需要為其建立命令通道和數據通道。設置兩個通道后,被動模式請求服務器進行偵聽,而不是嘗試連接回用戶。
如何使用 FTP
有三種不同的方式可以快速建立 FTP 連接,它們是:
命令行 FTP
有一點編程知識可以為用戶創造便利,因為有適用于 macOS、Windows 和 Linux 的命令行 FTP。許多開發人員更喜歡這種方法而不是其他方法來在 FTP 中傳輸文件。
圖形 FTP 程序
這種方法可以簡化文件傳輸,因為用戶可以輕松地將文件從一個窗口拖放到另一個窗口。在這些程序中,用戶必須提供 FTP 主機、用戶名和密碼才能訪問它。
網頁瀏覽器
這種方法很簡單,因為用戶可以使用 Web 瀏覽器連接到他們的 FTP 地址。許多用戶更喜歡 Web 瀏覽器方法,因為訪問服務器上的大量目錄更容易、更有益。但是,它比專用的 FTP 程序慢一點,可靠性也差一些。